// 文本溢出省略
.text-ellipsis() {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

// 清除浮动
.clearfix() {
  &::after {
    content: '';
    display: table;
    clear: both;
  }
}

// 响应式字体
.responsive-font(@min, @max) {
  font-size: clamp(@min, 2vw, @max);
}

// 多行文本溢出省略
.multi-ellipsis(@lineCount: 2) {
  display: -webkit-box;
  -webkit-line-clamp: @lineCount;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-all;
}

// 快速flex布局
.flex-center() {
  display: flex;
  justify-content: center;
  align-items: center;
}

// 垂直居中（单行文本）
.vertical-center() {
  display: flex;
  align-items: center;
}

// 绝对居中
.absolute-center() {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

// 响应式隐藏
.hide-mobile() {
  @media (max-width: 768px) {
    display: none !important;
  }
}

.hide-desktop() {
  @media (min-width: 769px) {
    display: none !important;
  }
}

// 渐变背景生成器
.gradient-bg(@from, @to) {
  background: linear-gradient(135deg, @from 0%, @to 100%);
}

// 多种尺寸的圆角
.radius(@size: 4px) {
  border-radius: @size;
}

// 多重阴影
.multi-shadow(@color1, @color2) {
  box-shadow: 0 2px 8px @color1, 0 1.5px 3px @color2;
}

// 动画混入
.fade-in(@duration: 0.3s) {
  animation: fadeIn @duration ease-in;
  @keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
  }
}

// 生成多色主题变量
.theme-color(@name, @color) {
  --@{name}-color: @color;
} 